home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Texteditors / Origami / bindings / vi-fun / ref < prev    next >
Encoding:
Text File  |  1996-09-27  |  4.8 KB  |  118 lines

  1. @{{{}}}
  2. @{{{  @ref-header ViOri-Reference-Card
  3. @ref-title ViOri Reference Card
  4. @ref-author Andrew Miller
  5. Anytime in the future, ViOri will be working :-)
  6. @}}}
  7. @{{{  ViOri-Reference-Card
  8. This is a very Beta release of the vi bindings. It is not as bad as the
  9. previous release which was not really useable by anyone but me.
  10.  
  11. HELP is bound to H in command mode.
  12.  
  13. @{{{  History
  14. The first release (well, escape really) was something like 0.4, followed
  15. by 0.5, both of which required that the user type ESC twice to exit insert
  16. mode/enter command mode. I have now added cursor key support, though not
  17. yet anything for home etc. As a result, one can now type escape once to
  18. enter command mode. This may at first sight appear to be a minor change,
  19. but it involved a nasty hack, as it is difficult to tell appart cursor
  20. keys which start with ESC and other key sequences which really are legal
  21. vi commands, without a timeout. As a result certain terminals may have
  22. problems. Xterm, for instance will not keybind unless the keys are mapped
  23. so that sun escape sequences are produced (as determined by autoalias.)
  24. This is because xterm produces ESC O as the prefix for a cursor key
  25. (":ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:" from our /etc/termcap)
  26. @}}}
  27. @{{{  Motion
  28. The way which motion is are defined is somewhat different to the standard
  29. vi method. The start of the motion is indicated by the command letter in
  30. the usual way, but the end of the motion is indicated be repeating the
  31. command letter. Thus to delete 2 lines djd is used instead of dj or 2dd.
  32. Trying to delete 8 lines with 8dd or d8d does not work, but d8jd does.
  33. This has the nice side effect that one does not have to count lines or set
  34. marks to delete or yank, but can wander through the file, possibly marking
  35. a whole procedure or block in one delete/yank command.
  36. @}}}
  37. @{{{  Folding
  38. FOLDING is done in exacly the same way with V.........V to mark the start
  39. and end of a new fold. To be completely honest, the Delete and yank
  40. commands are build on top of folding, this being the reason why the other
  41. commands are structured the way they are. I do intend to implement the
  42. traditional VI motions, but need some more time warp to do this.
  43.  
  44. FOLD COMMANDS are prefixed by v in command mode
  45. @ref-start-tbl key 3 function 32
  46. ve @@ enter fold
  47. vx @@ exit fold
  48. vo @@ open fold
  49. vc @@ close fold
  50. vf @@ toggle filed fold
  51. vA @@ Attach file to fold
  52. vt @@ mtool top of fold
  53. vb @@ mtool bottom of fold
  54. vl @@ set language
  55. vu @@ unfold fold
  56. @ref-end-tbl
  57. @}}}
  58. @{{{  Multiple Buffers
  59. MULTIPLE BUFFERS can be created with =A and =o
  60. for adjacent Right (analog to A for Append to line)
  61. and below (analog to o for open.)
  62.  
  63. One can change between buffers with =h =j =k =l or the arrow keys with =
  64. as a prefix. =r causes cursor motion to resize the current window, and all
  65. the other windows as appropriate.
  66. @}}}
  67. @{{{  Mouse
  68. The MOUSE can be used to change windows, to scroll by clicking at the
  69. appporiate edge of the window for a given buffer, and to move the cursor.
  70. Thus folding yanking and deletion of large areas of text can be done with
  71. 2 keyboard actions (eg V and V) and the mouse. The support is almost
  72. exactly that of Modeori
  73. @}}}
  74. @{{{  Bugs
  75. S and C are dangerous
  76.  
  77. U and u are not implemented.
  78.  
  79. y is currently broken (it worked once upon a 1.6.25 or so...)
  80.  
  81. p and P sometimes unfold lines you do not expect to see unfolding.
  82.  
  83. r (which is completely trivial and has worked since 1.6.25) ceased to
  84. work in version 1.6.63 or so without my even having touched the OCL code.
  85. search and replace does not yet work.
  86.  
  87. Internal problems with screen-on and screen-of mean that using ex mode
  88. is hairy. An exact emulation of ex mode will not be provided as it is
  89. not sensible to emulate these features under origami. An alternative to
  90. ex mode will be provided, which is consistent with the Origami way of
  91. doing things. (ie How does Modeori/viori do something analagous.)
  92. @}}}
  93. @{{{  (Un)Acknowledgements
  94. I started writing this binding in 1991 on the Sun cluster in the
  95. Informatik Computer pool at the RWTH Aachen.
  96.  
  97. Wolfgang Stumvoll has spent many a day explaining the interals of origami,
  98. and has suggested many of the solutions to the problems which cropped up
  99. on the way, not to mention debugging help etc.
  100.  
  101. I wish to thank my employer Aqua_plan in Aachen for allowing me to
  102. continue this work, and for the several Megabytes of disk which my
  103. development requires, not to mention the CPU hours.... The transition from
  104. the cruddy version previously let out to this not so cruddy version 0.a
  105. took place entirely in February/March 1993!
  106.  
  107. @if-using ( sarcasm )
  108. My previous employer ought to be thankful (but isn't) that I invested
  109. all the time I should have been hacking Origami between the 13.1.1992
  110. and 31.10.1992 in finding the fundamental design bug in the project.
  111. Read the F**king manuals Guys!
  112.  
  113. My previous employer ought to be even more thankful that I am not going
  114. to name the company here.
  115. @fi
  116. @}}}
  117. @}}}
  118.